package com.mes.service.yzl;

import com.mes.entity.hpf.SaleOutDetail;
import com.mes.entity.hpf.SaleReturnDetail;
import com.mes.entity.yzl.Condition;
import com.mes.entity.yzl.ProContactOrder;
import com.mes.entity.yzl.ReturnOrder;
import com.mes.entity.yzlExtend.ExtendProductor;
import com.mes.entity.yzlExtend.ExtendReturnOdrer;

import java.util.List;

public interface ReturnService {
    long addReturn(ReturnOrder returnOrder);

    void addCentor(ProContactOrder proContactOrder);

    List<ExtendReturnOdrer> listReturnOrder(Condition condition);

    List<ExtendProductor> returnOrderXq(long id);

    ExtendReturnOdrer findReturnById(long id);

    long updateReturn(ReturnOrder returnOrder);

    void updateCentorRetuen(ProContactOrder proContactOrder);

    int checkNumUnique(String returnNumber);

    int returnListCount(Condition condition);
    
    int deleteReturn(long id);
    
    int returnApproveds(List<Integer> list);
    
    int returnUnApproveds(List<Integer> list);
    
    List<ReturnOrder> returnOrderList();
    
    void deleteReturnXq(long returnLibId);
    
    int returnsProcess(List<Integer> list);
    
    int outCount(Condition condition);
    
    List<ExtendProductor> outList(Condition condition);
    
    List<ExtendProductor> addOutOrderXq(long id);
    
    List<SaleReturnDetail> returnDetail(long id);
    
    void addReturnDetail(SaleReturnDetail saleReturnDetail);
    
    void updateOutDetailStatus(SaleOutDetail saleOutDetail);
    
    void updateReturnDetail(SaleReturnDetail saleReturnDetail);
    
    void deleteReturnDetail(long id);
}
